工欲善其事,必先利其器。
(首先,我需要一顆好腦袋)
這次專案程式開發環境選用 IntelliJ IDEA,IntelliJ IDEA,是一個Java整合式開發環境(Integrated Development Environment,IDE),由JetBrains軟體軟體公司開發,提供Community(For JVM and Android development)和Ultimate(For web and enterprise development)兩種版本可供選擇,以下專案建置是用Ultimate版本。
點擊下載IDE
專案環境版本為 JDK 8
(1)打開IntelliJ IDEA,映入眼簾的是以下畫面,可以建立一個新的專案或開啟專案,點擊「New Project」。
(2)接著,到「Spring Initializr」產生Spring Boot專案的基本目錄,點擊「Next」。
(3)再來,設定專案名稱,點擊「Next」。
(4)最後,進入設定dependencies,一開始會先設定幾個依賴項,若後來有需要可以再行添加,點擊「Next」。
(5)最後的最後,選擇專案要放置的資料夾,點擊「Finish」,就完成啦!
這次的實作會採取Maven建構專案,透過Spring MVC 串接H2 資料庫完成整個Spring Web,讓我們稍微理解一下上述設定所出現的陌生名詞。
Maven和Gradle都是專案的自動建構工具,在軟體發行需要經過編譯原始碼、程式測試、構建步驟和版本佈署等,若用人工的方式易出錯,所以使用自動化的方式來執行繁瑣的步驟。
XML的配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.caili</groupId>
<artifactId>todolist</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>todolist</name>
<description>Demo ToDo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
....
Gradle配置
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'com.caili'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
Spring Data 提供了持久層(Data Persistence Layer)的支援,目的是希望與 Spring 其他元件易於整合,物件導向模型(ORM)來看待持久層,ORM讓Model資料層與資料訪問層做了關聯,當作一個中繼資料,用操作物件的方式對資料庫進行操作。
H2 屬於記憶體型資料庫,即全部儲存的資料內容是存放在伺服器記憶體中,也因此讀寫效能相對較高,但當伺服器關閉時資料也會立即消失,而 H2 是利用 Java 所設計出的關聯式資料庫,目前是一款具開源、免費、輕量與速度相當快的資料庫引擎,當我們在專案引用時,自動會提供瀏覽器的管理控制台,支援 JDBC、ODBC API 和 SQL語法。
選擇一個好的整合開發環境對程式開發人員來說是十分重要的,而直接動手操作是功力進步的唯一法則,來~ 大家一起動起來~